import com.sunny.util.ArrayUtil;
import com.sunny.排序.冒泡排序.BubbleSort;
import com.sunny.排序.希尔排序.ShellKnuthSort;
import com.sunny.排序.归并排序.MergeSort;
import com.sunny.排序.快速排序.QuickSort;
import com.sunny.排序.插入排序.InsertSort;
import com.sunny.排序.选择排序.SelectSort;
import com.sunny.查询.二分查找.BinarySearch;
import com.sunny.查询.遍历查找.ForEachSearch;

public class Main {

    public static void main(String[] args) {
        System.out.println("《《《《《《《《《《《排序相关》》》》》》》》》》》》");
        // 插入排序
        ArrayUtil.displayArray(InsertSort.insertSort(80000), "插入排序");
        // 选择排序
        ArrayUtil.displayArray(SelectSort.selectSort(80000), "选择排序");
        // 冒泡排序
        ArrayUtil.displayArray(BubbleSort.bubbleSort(80000), "冒泡排序");
        // 归并排序
        ArrayUtil.displayArray(MergeSort.sort(80000), "归并排序");
        // 希尔排序
        ArrayUtil.displayArray(ShellKnuthSort.shellKnuthSort(80000), "希尔排序");
        // 快速排序
        ArrayUtil.displayArray(QuickSort.quickSort(80000), "快速排序");
        System.out.println("");
        System.out.println("《《《《《《《《《《《查找相关》》》》》》》》》》》》");
        // 二分查找
        ArrayUtil.displaySearchTime(QuickSort.quickSort(80000), 70000, "二分查找", new BinarySearch());
        // 遍历查找
        ArrayUtil.displaySearchTime(QuickSort.quickSort(80000), 70000, "遍历查找", new ForEachSearch());
    }
}
